#pragma once
//本文件用于类型信息
//具体作用尚不明确，希望在后面的学习里逐渐掌握
#include<type_traits>
namespace mystl
{
	template<typename T,T v>
	struct m_integral_constant
	{
		static constexpr T value = v;
	};

	template<bool b>//模板特例化
	using m_bool_constant = m_integral_constant<bool, b>;
	typedef m_bool_constant<true> m_true_type;
	typedef m_bool_constant<false> m_false_type;

	template<class T1,class T2>
	struct pair;
	template<class T>
	struct is_pair :mystl::m_false_type {};
	template<class T1,class T2>
	struct is_pair<mystl::pair<T1, T2>> :mystl::m_true_type {};
}